Testing is one of the crucial stage of software development life cycle which ensures the quality of the software product by helping to reduce the bugs and assuring the overall quality. Even though it is not possible to release totally bug-free software, it is essential to tackle and solve all possible errors or bugs before the release; where the testing team's participation is important. Testing can be done using manually or by automated tools or by both.
These days applying efficiency and effectiveness in any kind of business process is one of the key to success of such business. Software testing process is not an exceptional from such statement; by following manual and automated methodologies of testing, the organization can ensure that the “testing” achieved it goals (which are mentioned on first paragraph) within short period of time. Obviously, application of automated tools helps to reduce time spend with testing phase anyhow that require few initial activities to set up with such as preparing test cases, test environment and expected test results.
Depending on the nature of the software product the automated testing methodology to apply can be chosen; it can be keyword driven or functional decomposition. If the software is divided into modules and tested to verify the functionality of the product – that is called “functional decomposition”; without breaking the product into several modules/functions, if the functions and sub-functions are tested based on the already prepared keywords set – that is known as “keyword driven testing”.
As mentioned above, the organization should analyze the method to apply, to do so, it has to consider pros and cons of both methodologies. Keyword driven testing, easy to create & maintain, does not require technical knowledge and help for the companies who practice cost-cutting in the organization. Practicing functional decomposition methodology validates the redundancy & modular design, easy to maintain and scripts can be reused; As pro of this option, organization is required to hire skilled and experienced professionals for scripting and etc. Similarly with keyword driven testing, creating custom scripts require more time comparatively and avoidance of developing strong architecture can put the SDLC phases in trouble and create issues on release management.